package com.wuming.caiwu.service;


import com.wuming.caiwu.core.BusinessException;
import com.wuming.caiwu.model.SysRole;

import java.util.List;

/**
 * 系统角色服务
 * Created by hanfei on 16/4/19.
 */
public interface SysRoleService {

    /**
     * 保存角色信息
     *
     * @param member 角色信息
     * @throws BusinessException
     */
    void saveSysRole(SysRole member) throws BusinessException;

    /**
     * 更新角色信息
     *
     * @param member 角色信息
     * @throws BusinessException
     */
    void modifySysRole(SysRole member) throws BusinessException;

    /**
     * 根据id查询角色信息
     *
     * @param id 角色id
     * @return 角色信息
     * @throws BusinessException
     */
    SysRole getSysRoleById(Long id) throws BusinessException;

    /**
     * 根据id删除角色信息
     *
     * @param id 角色id
     * @throws BusinessException
     */
    void removeSysRoleById(Long id) throws BusinessException;


    /**
     * 分页查询角色列表
     *
     * @param name  角色名
     * @param pageIndex     当前页
     * @param pageSize      每页条数
     * @return 角色列表
     * @throws BusinessException
     */
    List<SysRole> getSysRolesByPage(String name,Integer storeId,int pageIndex, int pageSize) throws BusinessException;

    /**
     * 查询总的角色数
     *
     * @param name  角色名
     * @return 角色总数
     * @throws BusinessException
     */
    int getTotal(String name,Integer storeId) throws BusinessException;


    List<SysRole> getAllRoles() throws BusinessException;

    List<SysRole> getRoleByParams(Integer storeId,String name,Integer isMemberRole,Integer isSystemRole) throws BusinessException;
}
